package me.helllp.bootman.common.base;

/**
 * 系统错误码定义
 * 
 * @author 虎头
 *
 */
public enum ErrorCodeEnum {
	//	返还值正常，message文件中对应信息KEY为：RETURN_CORE_NORMAL
	SYS_NORMAL(0, "正常返回"),
	
	//	1000-1999	为系统定义的错误编码，用户自定义编码从2000开始
	//	未定义异常
	SYS_NOT_DEFINE(1000, "未定义异常"),
	
	//	输入校验异常
	SYS_INPUT(1001, "输入参数异常"),
	//	HTTP 错误
	SYS_HTTP400(1002, "无效的请求"),
	SYS_HTTP401(1003, "服务器拒绝请求"),
	SYS_HTTP404(1004, "请求数据不存在"),
	SYS_HTTP500(1005, "服务器遇到错误，无法完成请求"),
	
	//	空指针异常
	SYS_NULL(1006, "发生空指针异常"),
	
	//	未授权异常
	SYS_UNAUTHORIZED(1007, "未授权异常"),
	
	;
	
	private int code;
	
	private String msg;
	
	/**
	 * 用户的错误码开始号
	 */
	public static final int USER_DEFINE = 2000;
	
	ErrorCodeEnum(int code, String msg){
		this.code = code;
		this.msg = msg;
	}
	
	public int getCode() {
		return this.code;
	}
	
	public String getMsg(){
		return this.msg;
	}
	
    public static ErrorCodeEnum getByValue(int value) { 
        for(ErrorCodeEnum e : ErrorCodeEnum.values()) {  
        	if(e.code == value){
        		return e;
        	}
        }      	
        return null;  
    }  	
}
